package com.mdd.admin.service;

import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.validate.order.OrderMealCreateValidate;
import com.mdd.admin.validate.order.OrderMealUpdateValidate;
import com.mdd.admin.validate.order.OrderMealSearchValidate;
import com.mdd.admin.vo.order.OrderMealVo;
import com.mdd.common.core.PageResult;

/**
 * 套餐接口
 * @author shenjian
 * @createTime 2023年02月11日 15:33:00
 */
public interface IOrderMealService {

    /**
     * 套餐列表
     *
     * @author shenjian
     * @param pageValidate (分页参数)
     * @param searchValidate (搜索参数)
     * @return PageResult<MealVo>
     */
    PageResult<OrderMealVo> list(PageValidate pageValidate, OrderMealSearchValidate searchValidate);

    /**
     * 套餐详情
     *
     * @author shenjian
     * @param id 主键参数
     * @return OrderMealVo
     */
    OrderMealVo detail(Integer id);

    /**
     * 套餐新增
     *
     * @author shenjian
     * @param createValidate 参数
     */
    void add(OrderMealCreateValidate createValidate);

    /**
     * 套餐更新
     *
     * @author shenjian
     * @param updateValidate 参数
     */
    void edit(OrderMealUpdateValidate updateValidate);

    /**
     * 套餐删除
     *
     * @author shenjian
     * @param id 主键参数
     */
    void del(Integer id);

    /**
     * 生成套餐编号
     * @author shenjian
     */
    String createSn();

}
